//在定义函数或者类时  遇到类型不明确是就可以用泛型
//t只是一个自定义的变量  代表不知道是什么类型  一般用T
function fn<t>(a:t):t {
  return a
}
let res = fn(123) //不指定泛型，ts自动进行类型推断
let res2 = fn<string>('a')   //指定泛型  当程序复杂时推断不出来时使用